PHLEGM v9 r63: distinguish actual video frame skips from performance deficit

Observed: SNES-NTSC ActRaiser 22.51 FPS, 37.5% RT, FS 0.
This is consistent with an overloaded emulation loop: the software is
producing ~22-23 frames/s, but never discards an already completed refresh.

Native overlay, line 1: FPS  22.51  FS   0
Native overlay, line 2: RT  37.5%  FD  38

FS = ACTUALLY SKIPPED emulated video presentation refreshes (per current
     MachineServiceVideoRefresh behavior). No synthetic increments.
FD = FRAME DEFICIT, an estimated shortfall expressed in display refresh
     equivalents per wall-clock second. FD = max(0, configured Hz *
     (1 - emulated_clock_rate / target_clock_rate)). Round to nearest.
     This is NOT a count of discarded or skipped frames.
RT = emulated CPU-time throughput as a percentage of real time.

SNES-NTSC refresh is data-driven by display_0_refresh_hz (60.0988 Hz), not
hard-coded into the runtime overlay. At 37.5% RT, FD ~37.56 -> 38.
At 100%+ RT, FD is zero. In Unlimited mode, FD stays zero if machine
clock advances at >100% even if host presentation frames are coalesced.

Also repair the FPS sampling accounting for multiple latched refreshes
between two host paint operations. It now counts the number of latched
frames, not the number of WM_PAINT/SDL redraws, without re-rendering any
video frames or altering hardware clocks, frame skip policy or save state.

Source regressions in tests/Frame-Deficit-Overlay-r63.Tests.js.
Checks are static + numerical. Native compiler/ActRaiser runtime tests
remain needed.
